// 1. 引入异步对象
import request from '@/utils/request'
// 2. 引入接口
// 3. 使用枚举来存储后端接口
enum Api {
  // 1. 获取spu列表数据
  getSpuListApi = '/admin/product',
  // 2. 添加SPU对象
  saveSpuInfoApi = '/admin/product/saveSpuInfo',
  // 3. 更新spu数据
  updateSpuInfoApi = '/admin/product/updateSpuInfo',
  // 4. 删除SPU项
  deleteSpuInfoApi = '/admin/product/deleteSpu',
  // 5. 获取所有的品牌列表数据
  getTrademarkListApi = '/admin/product/baseTrademark/getTrademarkList',
  // 6. 获取销售属性列表
  getBaseSaleAttrListApi = '/admin/product/baseSaleAttrList',
  // 7. 根据spuId获取对应的图片列表
  getSpuImageListApi = '/admin/product/spuImageList',
  // 8. 根据spuId获取已经添加上的销售属性及值
  getSpuSaleAttrListApi = '/admin/product/spuSaleAttrList'
}
// 4. 写对应的接口函数
// 4.1 获取SPU列表项的接口函数  category3Id是一个query参数 需要拼接在地址栏的后面
/**
 * 获取SPU列表项的接口函数
 * @param page 当前页码
 * @param limit  每页显示的数量
 * @param category3Id  三级id
 * @returns 
 */
export const reqGetSpuListData = (page:number,limit:number,category3Id:number) => {
  return request.get(Api.getSpuListApi+`/${page}/${limit}?category3Id=${category3Id}`)
}

// 4.2 获取品牌列表数据
/**
 * 获取品牌列表数据
 * @returns 
 */
export const reqGetAllTrademarkListData = () => {
  return request.get(Api.getTrademarkListApi)
}

// 4.3 获取所有的销售属性列表
export const reqGetAllBaseSaleAttrListData = () => {
  return request.get(Api.getBaseSaleAttrListApi)
}

// 4.4 实现spuInfo数据的添加
export const reqSaveSpuInfo = (spuInfo) => {
  return request.post(Api.saveSpuInfoApi,spuInfo)
}

// 4.5 删除spuInfo数据
export const reqDeleteSpuInfo = (spuId:number) => {
  return request.delete(Api.deleteSpuInfoApi+`/${spuId}`)
}

// 4.6 获取待编辑的spuInfo中的图片列表
export const reqGetSpuImageListData = (spuId:number) => {
  return request.get(Api.getSpuImageListApi+`/${spuId}`)
}
// 4.7 获取待编辑的spuInfo中的销售属性及值
export const reqGetSpuSaleAttrListData = (spuId:number) => {
  return request.get(Api.getSpuSaleAttrListApi+`/${spuId}`)
}

// 4.8 更新spuInfo数据
export const reqUpdateSpuInfo = (spuInfo) => {
  return request.post(Api.updateSpuInfoApi,spuInfo)
}